#include "BlackDeath.Core.h"
using namespace BlackDeath::Core;
using namespace BlackDeath::Graphics;

namespace BlackDeath
{
	namespace Core
	{
		class CDrawableGameComponent: public CGameComponent
		{
			private:
			#pragma region Variables
				bool m_bVisible;
			#pragma endregion

			#pragma region Options
				void InternalDraw(Core::CGameTime*);
			#pragma endregion

			protected:
			#pragma region Constructors and Destructors
				CDrawableGameComponent(Core::CGame*);
				~CDrawableGameComponent();
			#pragma endregion

			public:
			#pragma region Properties
				virtual bool Get_Visible();
				virtual void Set_Visible(bool);
			#pragma endregion

			#pragma region Methods
				virtual void LoadContent();
				virtual void UnloadContent();
				virtual void Draw(Core::CGameTime* gameTime);
			#pragma endregion

			friend class Core::CGameComponentManager;
		};
	}
}